﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace CommunitySystem.RightControl
{
    public abstract class IModuleBase
    {
       
        /// <summary>
        /// 唯一标识 Guid
        /// </summary>
        public abstract string ModuleGuid
        {
            get;
           
        }

       
        /// <summary>
        /// 作者
        /// </summary>
        public abstract string Author
        {
            get;
           
        }

    
        /// <summary>
        /// 父Module
        /// </summary>
        public abstract string ParentModuleGuid
        {
            get;
           
        }

      
        /// <summary>
        /// 命名空间
        /// </summary>
        public abstract string Namespace
        {
            get;            
        }

        /// <summary>
        /// 页面全名 : 命名空间+ 类名
        /// </summary>
        public abstract string ControlNamespace { get;}

       /// <summary>
        /// 执行方法
       /// </summary>
       /// <param name="Args"></param>
       /// <param name="Verb"></param>
       /// <returns></returns>
        public abstract Object Action(object[] Args, string Verb);
       

        private bool HasPermission()
        {
            return false;
        }

        /// <summary>
        /// 动作
        /// </summary>
        public abstract string[] Verbs
        {
            get;
        }
            
    }
}
